home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1998
/
MacHack 1998.toast
/
Sessions
/
STL
/
Slides
/
STL5.cp
< prev
next >
Wrap
Text File
|
1998-06-15
|
1KB
|
49 lines
// STL5.cp
#include <iostream>
#include <map>
using namespace std;
int main()
{
int integers[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char *intNames[] = {"zero", "one", "two", "three",
"four", "five", "six", "seven",
"eight", "nine", "ten"};
typedef map<int, char *> MyMap;
typedef vector<int> MyVector;
MyMap m;
for (int i = 0; i < 11; ++i)
{
m.insert(MyMap::value_type(integers[i], intNames[i]));
}
MyVector lhs(integers, integers + 11), rhs(integers, integers + 11);
random_shuffle(lhs.begin(), lhs.end());
random_shuffle(rhs.begin(), rhs.end());
for (int j = 0; j < 11; ++j)
{
int sum = lhs[j] + rhs[j];
int diff = lhs[j] - rhs[j];
if (sum < 11)
{
cout << m[lhs[j]] << " + " << m[rhs[j]] <<
" = " << m[sum] << endl;
}
if (diff >= 0)
{
cout << m[lhs[j]] << " - " << m[rhs[j]] <<
" = " << m[diff] << endl;
}
}
}
// two + zero = two
// two - zero = two
// eight - five = three
// nine + one = ten
// nine - one = eight
// three + two = five
// three - two = one
// one + four = five
// ten - ten = zero
// zero + seven = seven
// seven + three = ten
// seven - three = four